FROM golang:1.18  as builder

#环境变量
ENV GO111MODULE=on
ENV GOPROXY=https://goproxy.cn,direct


#指定操作目录(容器内部的路径)
WORKDIR /go/src/api

#复制根目录内所有源码文件到操作目录下
COPY . .

#编译
RUN go build main.go

#基础镜像,运行环境
FROM ubuntu:20.04 as runner

#ADD ./sources.list /etc/apt/sources.list

RUN apt-get -qq update \
    && apt-get -qq install -y --no-install-recommends ca-certificates curl

#指定工作目录
WORKDIR /go/app

#复制二进制执行文件和必要的Configs目录到工作目录
COPY --from=builder /go/src/api/main .
COPY --from=builder /go/src/api/config ./config

#时区设置
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && apt-get install -y tzdata
ENV TZ=Asia/Shanghai


#暴露的端口
EXPOSE 8001

#运行 main是编译后的项目名称
CMD ["./main"]